using Unity.Entities;

namespace Game.Core
{
    // public unsafe partial struct RefreshBasePropertyJob : IJobEntity
    // {
    //     void Execute(ref PropertyData data)
    //     {
    //         switch (data.Refresh)
    //         {
    //             case PropertyRefresh.None: break;
    //             default:
    //             {
    //                 data.Base = default;
    //                 for (int i = 0; i < sps.Length; i++)
    //                 {
    //                     var sp = sps[i];
    //                     data.CalcPropertyInfo(&sp);
    //                 }
    //                 for (int i = 0; i < bps.Length; i++)
    //                 {
    //                     var bp = bps[i];
    //                     data.CalcPropertyInfo(&bp);
    //                 }
    //                 break;  
    //             }
    //         }
    //
    //         if (PropertyRefresh.Base == data.Refresh)
    //             data.Refresh = PropertyRefresh.None;
    //     }
    // }

    // public unsafe partial struct RefreshCurrentPropertyJob : IJobEntity
    // {
    //     void Execute(ref PropertyData data, ref DynamicBuffer<DynamicProperty> dps)
    //     {
    //         switch (data.Refresh)
    //         {
    //             case PropertyRefresh.None: break;
    //             default:
    //             {
    //                 data.Current = data.Base;
    //                 for (int i = 0; i < dps.Length; i++)
    //                 {
    //                     var dp = dps[i];
    //                     data.CalcPropertyInfo(&dp);
    //                 }
    //                 break;
    //             }
    //         }
    //         
    //         // data.Refresh = PropertyRefresh.None;
    //     }
    // }
}